import pygame as pg

# 初始化pygame
pg.init()

# 创建一个窗口
window = pg.display.set_mode((800, 600))

# 设置窗口标题
pg.display.set_caption("Hello Pygame!")

# 创建Clock对象
clock = pg.time.Clock()

# KEYDOWN想实现长按效果，可以
# pg.key.set_repeat(1, 16)

x, y = 0, 0

# 主循环(不断处理用户的输入)
isRunning = True
while isRunning:
    # 处理事件
    for ev in pg.event.get():  # 取出并返回所有待处理的事件
        # 退出事件
        if ev.type == pg.QUIT:
            isRunning = False
            break
        # # 键盘按下事件(按下时触发一次)
        # elif ev.type == pg.KEYDOWN:
        #     # 是什么键按下了
        #     if ev.key == pg.K_UP:
        #         y -= 5
        #     elif ev.key == pg.K_DOWN:
        #         y += 5
        #     elif ev.key == pg.K_LEFT:
        #         x -= 5
        #     elif ev.key == pg.K_RIGHT:
        #         x += 5
    
    # 获取当前按下的键
    keys = pg.key.get_pressed()
    # 判断某个键是否按下(每帧持续检测)
    if keys[pg.K_UP]:
        y -= 5
    elif keys[pg.K_DOWN]:
        y += 5
    elif keys[pg.K_LEFT]:
        x -= 5
    elif keys[pg.K_RIGHT]:
        x += 5
        
    # 设置窗口背景颜色
    window.fill((227, 227, 227))
    # 绘制
    pg.draw.rect(window, (255, 255, 0), (x, y, 50, 50))

    # 更新窗口
    pg.display.update()

    # 获取当前帧率
    print(f"framerate is {clock.get_fps()}")

    # 设置帧率
    clock.tick(60)

# 清理，退出pygame
pg.quit()